package com.bw.mvi.mvi

import com.bw.mvi.http.ApiService
import com.bw.mvi.http.RetrofitManager
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.flow
import kotlinx.coroutines.flow.flowOn

/**
 * 数据仓库层
 */
class PostRepository {
    //by lazy 惰性初始化：按需加载，只有使用的时候才会初始化，不使用的话，不会初始化
    val mService:ApiService by lazy{
        RetrofitManager.getRetrofit().create(ApiService::class.java)
    }

    /**
     * 数据---》flow发射数据
     */
    fun getPostList(pageNum:Int,pageSize:Int) = flow {
        emit(mService.getPostList(pageNum,pageSize))
    }.flowOn(Dispatchers.IO)
}